package com.lj.framework.web.bean;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.Set;

/**
 * 角色表 sys_role
 * 
 * @author
 */
@Data
public class SysRole implements Serializable
{
    /** 角色ID */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /** 角色名称 */
    private String name;

    /** 角色权限 */
    private String roleKey;

    /** 角色排序 */
    private Integer sort = 0;

    /** 数据范围（1：所有数据权限；2：自定义数据权限；3：本部门数据权限；4：本部门及以下数据权限；5：仅本人数据权限） */
    private Integer dataScope = 5;

    /** 菜单树选择项是否关联显示（ 0：父子不互相关联显示 1：父子互相关联显示） */
    private Boolean menuCheckStrictly = true;

    /** 部门树选择项是否关联显示（0：父子不互相关联显示 1：父子互相关联显示 ） */
    private Boolean deptCheckStrictly = true;

    /** 角色状态（0正常 1停用） */
    private Integer status = 0;

    /** 删除标志（0代表存在 2代表删除） */
    private Integer delFlag = 0;

    /** 用户是否存在此角色标识 默认不存在 */
    private Boolean flag = false;

    /** 菜单组 */
    @TableField(exist = false)
    private Integer[] menuIds;

    /** 部门组（数据权限） */
    @TableField(exist = false)
    private Integer[] deptIds;

    /** 角色菜单权限 */
    @TableField(exist = false)
    private Set<String> permissions;

    private Date updateTime;
    private Date createTime = new Date();

}
